package com.ww.java8.fp.lambda.func.composition;

import java.util.function.Function;

/**
 * @author wanggw
 * @Date 2022年12月30 16:22
 */
public class FunctionComposition {
    static Function<String, String> f1 = s -> {
        System.out.println(s);
        return s.replace('A', '_');
    },
    f2 = s -> s.substring(3),
    f3 = s -> s.toLowerCase(),
    // compose(f2)表示f2的调用发生在f1之前
    f4 = f1.compose(f2).andThen(f3);

    public static void main(String[] args) {
        System.out.println(f4.apply("GO ALL AFTER"));
    }
}
